import shutil
import os

class FileUtil:


    @staticmethod
    def read_file(file_path):
        with open(file_path, 'r') as file:
            content = file.read()
        return content

    @staticmethod
    def copy_file(src_path, dst_path):
        """复制文件到指定路径并重命名
        :param src_path: 源文件路径
        :param dst_path: 目标路径（包含文件名）
        """
        # 创建目标目录（如果不存在）
        os.makedirs(os.path.dirname(dst_path), exist_ok=True)
        shutil.copy(src_path, dst_path)

    @staticmethod
    def delete_folder_files(folder_path):
        """清空指定目录下的所有内容（包括子目录）
        :param folder_path: 需要清空的目录路径
        """
        if os.path.exists(folder_path):
            shutil.rmtree(folder_path)
            os.makedirs(folder_path)  # 重建空目录

    @staticmethod
    def find_files_by_extension(folder_path, extension):
        """获取目录下指定后缀名的文件列表
        :param folder_path: 目标目录路径
        :param extension: 文件后缀名（如 .apk 或 apk）
        :return: 匹配文件的绝对路径列表
        """
        if not os.path.exists(folder_path):
            return []

        # 规范化后缀格式
        if not extension.startswith('.'):
            extension = '.' + extension
        extension = extension.lower()

        matched_files = []
        for root, _, files in os.walk(folder_path):
            for file in files:
                if file.lower().endswith(extension):
                    matched_files.append(os.path.join(root, file))
        return matched_files

    @staticmethod
    def get_filename(file_path):
        """从文件路径中获取文件名
        :param file_path: 文件的绝对路径
        :return: 文件名（不包含路径）
        """
        return os.path.basename(file_path)

        
